package week_3.homework;

import java.util.Scanner;

public class Pascal3 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入你想看到的杨辉三角的行数");
        int x = scan.nextInt();//输入几层是几层
         CircularArrayQueue<Integer> Yanghui = new CircularArrayQueue<>();
        for (int q=1;q<=x+1;q++){
            if (q == 1)
            {
                Yanghui.enqueue(1);
            }
            else
            {
                for(int j=1;j<=q;j++)
                {
                    if (j == 1) {//若是第x行的第一个元素，就把1压入队列
                        Yanghui.enqueue(1);
                        // System.out.print(Yanghui);
                    }
                    else
                    {
                        if (j == q) {//若是第x行的第x个元素，就将1入队，并将队列第一个元素出队。
                            Yanghui.enqueue(1);
                            System.out.print(Yanghui.dequeue());
                            System.out.println();
                        }
                        else {
                            //若是第x行的第j个元素，1<j<x，就将队列第一个出队，记录其值并和此时队列第一个元素的和入队。
                            int num = Yanghui.dequeue();
                            System.out.print(num+" ");
                            Yanghui.enqueue(num + Yanghui.first());
                        }
                    }
                }
            }
        }
    }

}
